The present invention relates to network switches and switching, and more particularly, this invention relates to reporting static flows to a software defined network (SDN) controller in a SDN.
One goal of a SDN is to allow the network to be programmable via a SDN controller. The SDN controller is typically physically separated from any of the controlled network switches, but is not necessarily located remotely therefrom. One method that allows for programmability of the network may involve the use of the OpenFlow communication protocol. However, other applications that may allow for programmability of the network either now or in the future may be used, in addition to or in place of OpenFlow, as would be understood by one of skill in the art upon reading the present descriptions.
Other methods that allow for the network to be programmable involve more traditional approaches, such as simple network management protocol (SNMP), network configuration protocol (NetConf), etc. In future versions of OpenFlow, support may be added for programming layer 3 IPv4 and layer 3 IPv6 Forwarding Elements via OpenFlow. Layer 3 forwarding element programming via OpenFlow may add support to program the layer 3 forwarding table, also referred to as a Forwarding Information Base (FIB). In contrast to the Routing Information Base (RIB), the FIB is optimized for fast longest prefix match lookup of a destination internet protocol (IP) address and may be used for data path forwarding. OpenFlow layer 3 forwarding element programming may be used by SDN user applications to program the layer 3 forwarding tables, in some conventional uses.
However, static flows programmed by a switch administrator are not necessarily reported to the switch controller, even when using OpenFlow. Without visibility of these statically programmed flows, the switch controller is not able to completely control flows through the SDN.